Understanding Method Level Speculation
نویسندگان
چکیده
Method level speculation (MLS) is an optimistic technique for parallelizing imperative programs, for which a variety of MLS systems and optimizations have been proposed. However, runtime performance strongly depends on the interaction between program structure and MLS system design choices, making it difficult to compare approaches or understand in a general way how programs behave under MLS. Here we develop an abstract list-based model of speculative execution that encompasses several MLS designs, and a concrete stack-based model that is suitable for implementations. Using our abstract model, we show equivalence and correctness for a variety of MLS designs, unifying in-order and out-of-order execution models. Using our concrete model, we directly explore the execution behaviour of simple imperative programs, and show how specific parallelization patterns are induced by combining common programming idioms with precise speculation decisions. This basic groundwork establishes a common basis for understanding MLS designs, and suggests more formal directions for optimizing MLS behaviour and application.
منابع مشابه
Distributed Models of Thread Level Speculation
This paper introduces a novel application of thread-level speculation to a distributed heterogeneous environment. We propose and evaluate two speculative models which attempt to reduce some of the method call overhead associated with distributed objects. Thread-level speculation exploits parallelism in code which is not provable free of data dependencies. Our evaluation of applying thread-level...
متن کاملAbstract Analysis of Method-Level Speculation
Analysis of Method-Level Speculation Sable Technical Report No. 2011-3 Clark Verbrugge and Allan Kielstra and Christopher J.F. Pickett [email protected], [email protected], [email protected]
متن کاملMcGill University School of Computer Science Sable Research Group Memory Abstractions for Speculative Multithreading
Speculative multithreading is a promising technique for automatic parallelization. However, our experience with a software implementation indicates that there is significant overhead involved in managing the heap memory internal to the speculative system and significant complexity in correctly managing the call stack memory used by speculative tasks. We first describe a specialized heap managem...
متن کاملElicitation of Pandemic Coping Strategies among Health Care Workers: Contextual Adaptation of a Mental Models Method
The aim of this study is to develop and formatively evaluate a method of eliciting health care workers’ understanding of pandemics and their forecasted behaviors during an outbreak. Qualitative methods were used for the evaluation. The results demonstrate that it was possible to identify specific points during the subject interviews when the health care worker seemed to turn from provision of f...
متن کاملSupport for Thread-Level Speculation into OpenMP
– In-depth knowledge of the problem. – Understanding of the underlying architecture. – Knowledge on the parallel programming model. • OpenMP allows to parallelize code “avoiding” these requirements. • Compilers’ automatic parallelization only proceed when there is no risk. • Thread-Level Speculation (TLS) can extract parallelism when a compile-time dependence analysis can not guarantee that the...
متن کامل